1. Field of the Invention
The invention relates to apparatus, and accompanying methods for use therein, for a LAN modem (or an aspect thereof) that contains an internal router having a self-contained network hub for connecting multiple network devices, such as workstations, to each other through a local area network (LAN) and for permitting each of those devices to gain access through the router to any one of a number of different remote networks. The invention is also directed to ensuring packet transmission between the workstations and the remote networks.
2. Description of the Prior Art
Workstations networked together have become ubiquitous in recent years. Networks comprising local area networks (LANs) and wide area networks (WANs) have provided computer users, especially businesses, with the ability to transfer a vast amount of data between different workstations and their associated end users. Use of the Internet has recently proliferated, as well as the reliance of the end users on these networked systems. LAN modems provide a connection between the WAN and the LAN permitting routing therebetween.
One difficulty in networking between LANs and other associated networks (or the Internet) is addressing. Over the Internet, public addresses are used to route packets. As networks proliferate, the fixed number of public addresses must be shared by more end users.
One solution to this problem is to have multiple workstations share the same address. This works well where the end users of the multiple workstations know the other""s schedule, and can adjust their own schedule accordingly. In cases where the end users do not know each others"" schedule, each end user is assuming that the amount of time that each end user is actually on the Internet is relatively small, so the potentially conflicting workstations probably will not be using the workstations at the same time. This solution is far from satisfactory.
Another solution to such network address congestion is to connect multiple workstations to a single LAN, and have all of the multiple workstations share one public address of the LAN. Only the private address for each workstation within a particular LAN differ from each other. Private source IP addresses in a packet header provide meaningful routing information only within that LAN. Only public addresses provide meaningful routing information when the packet is transferred outside of the local network.
Network address translation tables (NAT Tables) are stored in LAN modems to translate packet header information between private address information and corresponding public address information as the packet travels between a LAN and a WAN (such as the Internet). When a packet is transferring from the LAN to the WAN (the packet is located within the LAN modem), the appropriate private values contained in the packet header are replaced by the corresponding public values.
A difficulty with LANs relates to addressing between the LAN and the remote networks during session changes. When a session changes between a workstation on a LAN and a server on a remote network, often the port number changes. This session can change even in the middle of running a single application. There are differences between public address values used in the remote network and the private address values used in the LAN. When the sessions change, port number changes can lead to uncertainties in the LAN modem since the packet routing relies upon original values stored in the network address translation table. It would be desirable to provide a device that can route packets to the correct workstations in LANs even when the port numbers have been changed.
There are instances where sessions are changed between the same client/server even when running the same application. This changing of sessions changes the port numbers associated with each session. If a port number is being used in the IP address and port number translation by the LAN modem to ensure a unique workstation public identity, then merely changing the port number would defeat desired unambiguous routing.
The LAN modem of the present invention provides a hierarchical procedure, preferably having four steps, through which the new port numbers of packet headers created by a new session can relate to a stored network address translation table entry. This provides a technique for the LAN modem to route packets to a known workstation located on the LAN.
The first step in the hierarchical procedure involves a packet being routed to the workstation based upon the packet header sufficiently matching the information stored in the network address translation (NAT) table to route the packet. If this step is successful, then the packet is routed to the workstation based upon the routing information stored in the NAT table.
The second step involves a static table that by default has no entries. Each entry is created when a user installs new software, and the user inputs all the applicable routing information into the static table. The static table stores similar information as the network address translation table. If this step is successful, then the packet is routed to the workstation based upon the routing information contained in the static table.
The third step in the hierarchical procedure involves searching the NAT table entries more briefly than done in step 1. This step involves the LAN modem searching the network address translation table for entries relating to prior return packets (packets being transmitted from the remote network to the LAN modem) that originated at the same remote server. Even when destination port number for the return packet changes as the sessions change, the LAN modem assumes that the return packet is destined for the same workstation as the prior return packet. This assumption is reliable since the probability of unrelated packets being transmitted from the same remote server to the same workstation is so small.
The fourth step of the hierarchical procedure involves transmitting all of the packets to a designated workstation. The designated workstation should be selected as the most active workstation on the LAN, or the workstation on the LAN having the most applications.